package cc.webmania.android.akeletbolcsessege;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;

public class AKeletBolcsessege extends Activity{
	protected Context context = null;
	public DBHelper db;
	Bolcsesseg bolcsesseg = null;
	
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        context = this;
        
		if(!initDbHelper()){
			return;
		}
        
        int bolcsessegId;
        Bundle extras = getIntent().getExtras();
        if(extras == null){
        	bolcsessegId = 0;
        }
        else{
        	bolcsessegId = extras.containsKey("bolcsessegId") ? extras.getInt("bolcsessegId") : 0;
        }


        try {
        	//Log.d("aKeletB", "onCreate()");
			//Log.d("aKeletB", "indul a pd");
			ProgressDialog pd = ProgressDialog.show(AKeletBolcsessege.this, getString(R.string.copying), getString(R.string.wait), true);
			//Log.d("aKeletB", "46 - db kapcsolat felépítve");
			
			//válasszunk ki egy bölcsességet
			bolcsesseg = db.getBolcsesseg(bolcsessegId);
			//Log.d("aKeletB", "49 - bolcsesség ojjektum létrehozva");
						
			//jelenítsük meg
			TextView idezet = (TextView) findViewById(R.id.idezet);
			TextView forras = (TextView) findViewById(R.id.forras);
			ImageButton bongeszoIcon = (ImageButton) findViewById(R.id.bongeszo);
			
			idezet.setText(bolcsesseg.getBolcsesseg());
			forras.setText(bolcsesseg.getForras());
			
			final String link = bolcsesseg.getLink();
			if(link == null || link.length() == 0){
				//nincs link
				bongeszoIcon.setVisibility(View.INVISIBLE);
			}
			else{
				//van link
		        bongeszoIcon.setOnClickListener(new View.OnClickListener(){
		        	public void onClick(View v){
		        		Uri uri = Uri.parse(link);
		        		startActivity( new Intent( Intent.ACTION_VIEW, uri ) );
		        	}
		        });
			}
			
			final int kedvenc = bolcsesseg.getKedvenc();
			final ImageButton kedvencIcon = (ImageButton) findViewById(R.id.kedvenc);
			if(kedvenc == 1){
				kedvencIcon.setImageResource(android.R.drawable.btn_star_big_on);
			}
			kedvencIcon.setOnClickListener(new View.OnClickListener() {
				public void onClick(View v){
					String uzenet = "";
					int kedvencH = bolcsesseg.getKedvenc();
					if(kedvencH == 0){
						kedvencH = 1;
						kedvencIcon.setImageResource(android.R.drawable.btn_star_big_on);
						uzenet = getString(R.string.new_favourite);
					}
					else{
						kedvencH = 0;
						kedvencIcon.setImageResource(android.R.drawable.btn_star_big_off);
						uzenet = getString(R.string.deleted_favourite);
					}
					bolcsesseg.setKedvenc(kedvencH);
					db.changeKedvenc(bolcsesseg.getId(), kedvencH);
					Toast.makeText(getApplicationContext(), uzenet, Toast.LENGTH_LONG).show();
				}
			});

			pd.dismiss();
			//Log.d("aKeletB", "eltűnt a pd");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}


	protected boolean initDbHelper() {
		//adatbázis kapcsolat létrehozása
		try {
			db = new DBHelper(context);
			return true;
		} catch (Exception e) {
			// TODO Alert user
			e.printStackTrace();
			return false;
		}
	}
	
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {		// Creates the menu items
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.options_menu, menu);
		return true;
	}

	
	@Override 
	public boolean onOptionsItemSelected(MenuItem item) {		//Handles item selections
		int itemId = item.getItemId();
		if (itemId == R.id.miez) {
			startActivity(new Intent(context, Miez.class));
			return true;
		} else if (itemId == R.id.share) {
			share();
			return true;
		} else if (itemId == R.id.kedvenc) {
			startActivity(new Intent(context, KedvencBolcsessegek.class));
			return true;
		}
		return false;
	}
	
	public void share() {
		final Intent intent = new Intent(Intent.ACTION_SEND);

		intent.setType("text/plain");
		intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share_subject));
		intent.putExtra(Intent.EXTRA_TEXT, getString(R.string.share_text) + " " + bolcsesseg.getBolcsesseg());

		startActivity(Intent.createChooser(intent, getString(R.string.share)));
	}
}